Improving Continuation-Powered Method-Level Speculation for JVM Applications

نویسندگان

  • Ivo Anjo
  • João P. Cachopo
چکیده

Most applications running on the Java Virtual Machine (JVM) make extensive use of dynamic object-oriented programming features such as inheritance, polymorphism, and encapsulation. This makes them very hard or even impossible to analyze statically, defeating most of the automatic parallelization research done so far for traditional computeheavy scientific applications. In this paper, we propose and evaluate multiple extensions to the JaSPExMLS framework, a speculative parallelization framework that is aimed at irregular applications. This framework works atop a modified JVM and employs Method-Level Speculation (MLS), a task-identification technique that is better suited for irregular applications. Our custom JVM is a modified version of the OpenJDK Hotspot VM that was extended with support for first-class continuations, while still inheriting Hotspot’s high-performance features such as just-in-time compilation, adaptive optimization, state-of-the-art garbage collection, and support for the latest Java versions. JaSPEx-MLS automatically modifies applications to use Software Transactional Memory (STM) and to allow the spawn and synchronization of speculative tasks in a scheme similar to Fork/Join parallelism. Speculative execution is supported by our novel relaxed STM model, which is tightly coupled with our framework and includes support for integrating with Futures. We present novel techniques for improving MLS runtime task extraction and coordination, describe our implementation of those techniques onto JaSPEx-MLS, and present experimental results showing their impact on both reducing speculative execution overheads and extracting further parallelism from sequential applications.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Thread of One’s Own

This paper demonstrates an architecture for suspending and resuming methods in Java using a restricted form of continuation passing style (CPS) transformation. It describes Kilim, a toolkit to portably weave threads of control called Fibers, through Java code. The chief contributions of this paper are the set of design choices made for both space and time efficiency in getting one-shot continua...

متن کامل

A Software-Based Method-Level Speculation Framework for the Java Platform

With multicore processors becoming ubiquitous on computing devices, the need for both parallelizing existing sequential applications and designing new parallel applications is greatly intensified. With our work, we intend to tackle the former issue. In this paper, we present the design of a software-based automatic parallelization framework for sequential applications that run on the Java platf...

متن کامل

Reliability-based maintenance scheduling of powered supports in Tabas mechanized coal mine

Utilizing the gathered failure data and failure interval data from Tabas coal mine in two years, this paper discusses the reliability of powered supports. The data sets were investigated using statistical procedures and in two levels: the existence of trend and serial correlation. The results show that the powered supports follow the Gamma reliability function. The reliability of the machine de...

متن کامل

OS-Caused Large JVM Pauses: Investigations and Solutions

For customer-facing Java applications (e.g., online gaming and online chatting), ensuring low latencies is not just a preferred feature, but a must-have feature. Given the popularity and powerfulness of Java, a significant portion of today's backend services are implemented in Java. JVM (Java Virtual Machine) manages a heap space to hold application objects. The heap space can be frequently GC-...

متن کامل

Java Virtual Machine: the key for accurated memory prefetching

The popularity of the Java language is easily understandable analyzing the specific features of the language and the execution environment. However, there are still aspects of the Java execution environment that are not exploited. One of the most distinctive features of this platform is the knowledge that the Java Virtual Machine (JVM) has about the runtime characteristics of the applications. ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013